Large-scale search and retrieval of information in a variety of complex computer processes such as, for example, computer vision applications may utilize linear projections. Such applications may utilize orthogonal projections so as to preserve the Euclidean distance between data points. Generation of such orthogonal projections has typically required the use of an unstructured matrix. However, the computational complexity of building an unstructured orthogonal matrix is O(d3) while space and time complexity is O(d2). This means that the generation of an unstructured orthogonal matrix becomes an extremely expensive operation as the input dimensionality d increases.